package com.ftf.tp.blog.domain.article.aggregate;

import com.ftf.tp.blog.domain.article.dos.ArticleDataDO;
import com.ftf.tp.blog.domain.article.valobj.ColumnValue;
import com.ftf.tp.blog.domain.article.valobj.TagValue;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 文章聚合根
 *
 * @author tanghao
 * @date 2022/6/24
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ArticleAgg {

    /**
     * 主键
     */
    private Long id;

    /**
     * 文章标题
     */
    private String articleTitle;

    /**
     * 文章内容html
     */
    private String articleContentHtml;

    /**
     * 文章内容markdown
     */
    private String articleContentMarkdown;

    /**
     * 文章摘要
     */
    private String articleAbstract;

    /**
     * 文章封面
     */
    private String articleCover;

    /**
     * 文章作者id
     */
    private Long articleAuthorId;

    /**
     * 文章作者名
     */
    private String articleAuthorName;

    /**
     * 文章发布状态（1:公开，2:私密，3:仅粉丝可见)
     */
    private Integer articlePublishStatus;

    /**
     * 文章类型 (0:原创，1:转载)
     */
    private Integer articleType;

    /**
     * 文章状态 (10:草稿，20:笔记，30:审核中，40:已发布 ,50:被举报，60:已封，个位数为1时代表处于垃圾箱状态);
     */
    private Integer articleStatus;

    /**
     * 文章是否开启评论 (0:可评论，1:不可评论);
     */
    private Integer commentStatus;

    /**
     * 文章数据实体
     */
    private ArticleDataDO articleDataDO;

    /**
     * 文章标签信息
     */
    private List<TagValue> tagValues;

    /**
     * 文章专栏信息
     */
    private List<ColumnValue> columnValues;

}
